﻿<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <!-- Documenting T:NAnt.SourceControl.Tasks.RTagTask-->
  <head>
    <meta http-equiv="Content-Language" content="en-ca" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="../style.css" />
    <title>&lt;cvs-rtag&gt; Task</title>
  </head>
  <body>
    <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
      <tr>
        <td class="NavBar-Cell">
          <a href="http://nant.sourceforge.net">
            <b>NAnt</b>
          </a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../index.html">Help</a>
          <img alt="-&gt;" src="../images/arrow.gif" />
          <a href="../tasks/index.html">Task Reference</a>
          <img alt="-&gt;" src="../images/arrow.gif" /> &lt;cvs-rtag&gt;</td>
        <td class="NavBar-Cell" align="right">
                        v0.91</td>
      </tr>
    </table>
    <h1>&lt;cvs-rtag&gt;</h1>
    <p> Tags all sources in the remote repository with a given tag. </p>
    <p> Unlike tag, the rtag command acts only on sources that are in the repository. Any modified sources on the local file system will NOT be tagged with this command, so a commit should be performed before an rtag is done. </p>
    <p> NOTE: Although a working directory is not necessary to perform the command one must be specified in order to remain in compliance with the cvs library. </p>
    <h3>Parameters</h3>
    <div class="table">
      <table>
        <tr>
          <th>Attribute</th>
          <th style="text-align: center;">Type</th>
          <th>Description</th>
          <th style="text-align: center;">Required</th>
        </tr>
        <tr>
          <td valign="top" class="required">tag</td>
          <td style="text-align: center;">string</td>
          <td> The name of the tag to assign or remove. </td>
          <td style="text-align: center;">True</td>
        </tr>
        <tr>
          <td valign="top">act-on-date</td>
          <td style="text-align: center;">datetime</td>
          <td> Indicates the revision date of the file that the tag should be applied to. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">act-on-tag</td>
          <td style="text-align: center;">string</td>
          <td> Indicates the repository <code>tag</code> that is acted on for the tag command. Note if <code>move-if-exists</code> is <b>true</b> then the tag specified is moved to the revision of the file on the HEAD of the branch specified. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">force-head</td>
          <td style="text-align: center;">bool</td>
          <td> Indicates whether the head revision should be used if the <code>act-on-tag</code> or the <code>act-on-date</code> tags are not found. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">move-if-exists</td>
          <td style="text-align: center;">bool</td>
          <td> Indicates whether the tag specified in <code>tag</code> should be moved to the current file revision. If the tag does not exist then it is created. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">recursive</td>
          <td style="text-align: center;">bool</td>
          <td> If a directory is specified indicates whether sub-directories should also be processed. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">remove</td>
          <td style="text-align: center;">bool</td>
          <td> Indicates whether the tag specified in <code>tag</code> should be removed or not. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">commandline</td>
          <td style="text-align: center;">string</td>
          <td> Command-line arguments for the program. The command line arguments are used to specify any cvs command options that are not available as attributes. These are appended after the command itself and are additive to whatever attributes are currently specified. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">compressionlevel</td>
          <td style="text-align: center;">int</td>
          <td> Compression level to use for all net traffic. This should be a value from 1-9. <br xmlns=""></br><br xmlns=""></br><bold xmlns="">NOTE: This is not available on sharpcvslib.</bold></td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">cvsfullpath</td>
          <td style="text-align: center;">file</td>
          <td> The full path to the cvs binary used. The cvs tasks will attempt to "guess" the location of your cvs binary based on your path. If the task is unable to resolve the location, or resolves it incorrectly this can be used to manually specify the path. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">cvsroot</td>
          <td style="text-align: center;">string</td>
          <td>
            <p> The cvs root variable has the following components: </p>
            <p>
              <pre class="code">[protocol]:[username]@[servername]:[server path]</pre>
              <ul xmlns="">
                <li>protocol: ext, pserver, ssh (sharpcvslib); if you are not using sharpcvslib consult your cvs documentation.</li>
                <li>username: [username]</li>
                <li>servername: cvs.sourceforge.net</li>
                <li>server path: /cvsroot/nant</li>
              </ul>
            </p>
          </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">cvsrsh</td>
          <td style="text-align: center;">file</td>
          <td> The executable to use for ssh communication. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">destination</td>
          <td style="text-align: center;">directory</td>
          <td> Destination directory for the local sandbox. If destination is not specified then the current directory is used. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">failonerror</td>
          <td style="text-align: center;">bool</td>
          <td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">if</td>
          <td style="text-align: center;">bool</td>
          <td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">module</td>
          <td style="text-align: center;">string</td>
          <td> The module to perform an operation on. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">passfile</td>
          <td style="text-align: center;">file</td>
          <td> The full path to the cached password file. If not specified then the environment variables are used to try and locate the file. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">password</td>
          <td style="text-align: center;">string</td>
          <td>
            <i>Deprecated.</i>  The password for logging in to the repository. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">quiet</td>
          <td style="text-align: center;">bool</td>
          <td> Indicates if the output from the cvs command should be supressed. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">readonly</td>
          <td style="text-align: center;">bool</td>
          <td>
            <b>true</b> if the sandbox files should be checked out in read only mode. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">readwrite</td>
          <td style="text-align: center;">bool</td>
          <td>
            <b>true</b> if the sandbox files should be checked out in read/write mode. The default is <b>true</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">reallyquiet</td>
          <td style="text-align: center;">bool</td>
          <td> Indicates if the output from the cvs command should be stopped. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">timeout</td>
          <td style="text-align: center;">int</td>
          <td> The maximum amount of time the application is allowed to execute, expressed in milliseconds. Defaults to no time-out. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">unless</td>
          <td style="text-align: center;">bool</td>
          <td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">usesharpcvslib</td>
          <td style="text-align: center;">bool</td>
          <td>
            <p>
              <b>true</b> if the SharpCvsLib binaries that come bundled with NAnt should be used to perform the cvs commands, <b>false</b> otherwise. </p>
            <p> You may also specify an override value for all cvs tasks instead of specifying a value for each. To do this set the property <code>sourcecontrol.usesharpcvslib</code> to <b>false</b>. </p>
            <warn xmlns=""> If you choose not to use SharpCvsLib to checkout from cvs you will need to include a cvs.exe binary in your path. </warn>
          </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">verbose</td>
          <td style="text-align: center;">bool</td>
          <td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
      </table>
    </div>
    <h3>Framework-configurable parameters</h3>
    <div class="table">
      <table>
        <tr>
          <th>Attribute</th>
          <th style="text-align: center;">Type</th>
          <th>Description</th>
          <th style="text-align: center;">Required</th>
        </tr>
        <tr>
          <td valign="top">managed</td>
          <td style="text-align: center;">
            <a href="../enums/NAnt.Core.Types.ManagedExecution.html">ManagedExecution</a>
          </td>
          <td> Specifies whether the external program should be treated as a managed application, possibly forcing it to be executed under the currently targeted version of the CLR. </td>
          <td style="text-align: center;">False</td>
        </tr>
        <tr>
          <td valign="top">useruntimeengine</td>
          <td style="text-align: center;">bool</td>
          <td>
            <i>Deprecated.</i>  Specifies whether the external program is a managed application which should be executed using a runtime engine, if configured. The default is <b>false</b>. </td>
          <td style="text-align: center;">False</td>
        </tr>
      </table>
    </div>
    <h3>Nested Elements:</h3>
    <!--Element-->
    <h4>
      <a id="fileset">
      </a>
                    &lt;<a href="../types/cvsfileset.html">fileset</a>&gt;
                </h4>
    <div class="nested-element"> Used to specify the version control system (VCS) files that are going to be acted on. <p /></div>
    <h4>
      <a id="fileset">
      </a>
                    &lt;/<a href="../types/cvsfileset.html">fileset</a>&gt;
                </h4>
    <!--Array-->
    <!--NestedElementArray=T:NAnt.Core.Types.Argument-->
    <h4>
      <a id="arg">
      </a>
                    &lt;arg&gt;
                </h4>
    <div class="nested-element"> The command-line arguments for the external program. <p> Represents a command-line argument. </p><p> When passed to an external application, the argument will be quoted when appropriate. This does not apply to the <code>line</code> parameter, which is always passed as is. </p><h3>Parameters</h3><div class="table"><table><tr><th>Attribute</th><th style="text-align: center;">Type</th><th>Description</th><th style="text-align: center;">Required</th></tr><tr><td valign="top">dir</td><td style="text-align: center;">directory</td><td> The value for a directory-based command-line argument; will be replaced with the absolute path of the directory. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">file</td><td style="text-align: center;">file</td><td> The name of a file as a single command-line argument; will be replaced with the absolute filename of the file. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">if</td><td style="text-align: center;">bool</td><td> Indicates if the argument should be passed to the external program. If <b>true</b> then the argument will be passed; otherwise, skipped. The default is <b>true</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">line</td><td style="text-align: center;">string</td><td> List of command-line arguments; will be passed to the executable as is. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">path</td><td style="text-align: center;">&lt;path&gt;</td><td> The value for a PATH-like command-line argument; you can use <code>:</code> or <code>;</code> as path separators and NAnt will convert it to the platform's local conventions, while resolving references to environment variables. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">unless</td><td style="text-align: center;">bool</td><td> Indicates if the argument should not be passed to the external program. If <b>false</b> then the argument will be passed; otherwise, skipped. The default is <b>false</b>. </td><td style="text-align: center;">False</td></tr><tr><td valign="top">value</td><td style="text-align: center;">string</td><td> A single command-line argument; can contain space characters. </td><td style="text-align: center;">False</td></tr></table></div><h3>Nested Elements:</h3><!--Element--><h4><a id="path"></a>
                    &lt;<a href="../types/path.html">path</a>&gt;
                </h4><div class="nested-element"> Sets a single command-line argument and treats it like a PATH - ensures the right separator for the local platform is used. <p /></div><h4><a id="path"></a>
                    &lt;/<a href="../types/path.html">path</a>&gt;
                </h4><h3>Examples</h3><ul class="examples"><li><p> A single command-line argument containing a space character. </p><pre class="code">
&lt;arg value="-l -a" /&gt;
    </pre></li><li><p> Two separate command-line arguments. </p><pre class="code">
&lt;arg line="-l -a" /&gt;
    </pre></li><li><p> A single command-line argument with the value <code>\dir;\dir2;\dir3</code> on DOS-based systems and <code>/dir:/dir2:/dir3</code> on Unix-like systems. </p><pre class="code">
&lt;arg path="/dir;/dir2:\dir3" /&gt;
    </pre></li></ul></div>
    <h4>
      <a id="arg">
      </a>
                    &lt;/arg&gt;
                </h4>
    <h3>Examples</h3>
    <ul class="examples">
      <li>
        <p>Tag NAnt sources remotely.</p>
        <pre class="code">
            &lt;cvs-rtag 
                cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
                destination="."
                tag="v0_8_4"
                 /&gt;
                </pre>
      </li>
      <li>
        <p>Remove a tag from the remote repository.</p>
        <pre class="code">
            &lt;cvs-rtag 
                cvsroot=":pserver:anonymous@cvs.sourceforge.net:/cvsroot/nant" 
                destination="."
                tag="v0_8_4"
                remove="true"
                 /&gt;
                </pre>
      </li>
    </ul>
    <h3>Requirements</h3>
    <div style="margin-left: 20px;">
      <b>Assembly:</b> NAnt.SourceControlTasks (0.91.4312.0)
            </div>
  </body>
</html>